{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1.导入工具包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [],
   "source": [
    "# -*- coding: utf-8 -*-\n",
    "\n",
    "import numpy as np    # 矩阵操作\n",
    "import pandas as pd   # SQL数据处理\n",
    "import matplotlib.pyplot as plt  #画图\n",
    "import seaborn as sns    #画图\n",
    "\n",
    "from sklearn.metrics import log_loss #评价回归预测模型的性能\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "#图形出现在Notebook里而不是新窗口\n",
    "%matplotlib inline  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2.数据探索"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.1导入数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6</td>\n",
       "      <td>148</td>\n",
       "      <td>72</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>33.6</td>\n",
       "      <td>0.627</td>\n",
       "      <td>50</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>85</td>\n",
       "      <td>66</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>26.6</td>\n",
       "      <td>0.351</td>\n",
       "      <td>31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8</td>\n",
       "      <td>183</td>\n",
       "      <td>64</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>23.3</td>\n",
       "      <td>0.672</td>\n",
       "      <td>32</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>89</td>\n",
       "      <td>66</td>\n",
       "      <td>23</td>\n",
       "      <td>94</td>\n",
       "      <td>28.1</td>\n",
       "      <td>0.167</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>137</td>\n",
       "      <td>40</td>\n",
       "      <td>35</td>\n",
       "      <td>168</td>\n",
       "      <td>43.1</td>\n",
       "      <td>2.288</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
       "0            6      148             72             35        0  33.6   \n",
       "1            1       85             66             29        0  26.6   \n",
       "2            8      183             64              0        0  23.3   \n",
       "3            1       89             66             23       94  28.1   \n",
       "4            0      137             40             35      168  43.1   \n",
       "\n",
       "   DiabetesPedigreeFunction  Age  Outcome  \n",
       "0                     0.627   50        1  \n",
       "1                     0.351   31        0  \n",
       "2                     0.672   32        1  \n",
       "3                     0.167   21        0  \n",
       "4                     2.288   33        1  "
      ]
     },
     "execution_count": 139,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# -*- coding: utf-8 -*-\n",
    "dataPath = '../JupyterData/'\n",
    "data = pd.read_csv(dataPath+\"diabetes.csv\")\n",
    "#显示前5行数据\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>763</th>\n",
       "      <td>10</td>\n",
       "      <td>101</td>\n",
       "      <td>76</td>\n",
       "      <td>48</td>\n",
       "      <td>180</td>\n",
       "      <td>32.9</td>\n",
       "      <td>0.171</td>\n",
       "      <td>63</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>764</th>\n",
       "      <td>2</td>\n",
       "      <td>122</td>\n",
       "      <td>70</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>36.8</td>\n",
       "      <td>0.340</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>765</th>\n",
       "      <td>5</td>\n",
       "      <td>121</td>\n",
       "      <td>72</td>\n",
       "      <td>23</td>\n",
       "      <td>112</td>\n",
       "      <td>26.2</td>\n",
       "      <td>0.245</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>766</th>\n",
       "      <td>1</td>\n",
       "      <td>126</td>\n",
       "      <td>60</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30.1</td>\n",
       "      <td>0.349</td>\n",
       "      <td>47</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>767</th>\n",
       "      <td>1</td>\n",
       "      <td>93</td>\n",
       "      <td>70</td>\n",
       "      <td>31</td>\n",
       "      <td>0</td>\n",
       "      <td>30.4</td>\n",
       "      <td>0.315</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
       "763           10      101             76             48      180  32.9   \n",
       "764            2      122             70             27        0  36.8   \n",
       "765            5      121             72             23      112  26.2   \n",
       "766            1      126             60              0        0  30.1   \n",
       "767            1       93             70             31        0  30.4   \n",
       "\n",
       "     DiabetesPedigreeFunction  Age  Outcome  \n",
       "763                     0.171   63        0  \n",
       "764                     0.340   27        0  \n",
       "765                     0.245   30        0  \n",
       "766                     0.349   47        1  \n",
       "767                     0.315   23        0  "
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#显示后5行数据\n",
    "data.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pregnancies                 0\n",
       "Glucose                     0\n",
       "BloodPressure               0\n",
       "SkinThickness               0\n",
       "Insulin                     0\n",
       "BMI                         0\n",
       "DiabetesPedigreeFunction    0\n",
       "Age                         0\n",
       "Outcome                     0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 141,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#显示每列空值数目\n",
    "data.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 数据特征无空值，无需做数据填补"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.2显示数据基本信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 768 entries, 0 to 767\n",
      "Data columns (total 9 columns):\n",
      "Pregnancies                 768 non-null int64\n",
      "Glucose                     768 non-null int64\n",
      "BloodPressure               768 non-null int64\n",
      "SkinThickness               768 non-null int64\n",
      "Insulin                     768 non-null int64\n",
      "BMI                         768 non-null float64\n",
      "DiabetesPedigreeFunction    768 non-null float64\n",
      "Age                         768 non-null int64\n",
      "Outcome                     768 non-null int64\n",
      "dtypes: float64(2), int64(7)\n",
      "memory usage: 54.1 KB\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(768, 9)"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.info()\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.3查看数据特征的分布\n",
    "数量、均值、标准差、最小a值、四分之一分位数、中分位数、四分之三分位数、最大值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>3.845052</td>\n",
       "      <td>120.894531</td>\n",
       "      <td>69.105469</td>\n",
       "      <td>20.536458</td>\n",
       "      <td>79.799479</td>\n",
       "      <td>31.992578</td>\n",
       "      <td>0.471876</td>\n",
       "      <td>33.240885</td>\n",
       "      <td>0.348958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.369578</td>\n",
       "      <td>31.972618</td>\n",
       "      <td>19.355807</td>\n",
       "      <td>15.952218</td>\n",
       "      <td>115.244002</td>\n",
       "      <td>7.884160</td>\n",
       "      <td>0.331329</td>\n",
       "      <td>11.760232</td>\n",
       "      <td>0.476951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.078000</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>27.300000</td>\n",
       "      <td>0.243750</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>117.000000</td>\n",
       "      <td>72.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>30.500000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>0.372500</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>6.000000</td>\n",
       "      <td>140.250000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>127.250000</td>\n",
       "      <td>36.600000</td>\n",
       "      <td>0.626250</td>\n",
       "      <td>41.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>17.000000</td>\n",
       "      <td>199.000000</td>\n",
       "      <td>122.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>846.000000</td>\n",
       "      <td>67.100000</td>\n",
       "      <td>2.420000</td>\n",
       "      <td>81.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Pregnancies     Glucose  BloodPressure  SkinThickness     Insulin  \\\n",
       "count   768.000000  768.000000     768.000000     768.000000  768.000000   \n",
       "mean      3.845052  120.894531      69.105469      20.536458   79.799479   \n",
       "std       3.369578   31.972618      19.355807      15.952218  115.244002   \n",
       "min       0.000000    0.000000       0.000000       0.000000    0.000000   \n",
       "25%       1.000000   99.000000      62.000000       0.000000    0.000000   \n",
       "50%       3.000000  117.000000      72.000000      23.000000   30.500000   \n",
       "75%       6.000000  140.250000      80.000000      32.000000  127.250000   \n",
       "max      17.000000  199.000000     122.000000      99.000000  846.000000   \n",
       "\n",
       "              BMI  DiabetesPedigreeFunction         Age     Outcome  \n",
       "count  768.000000                768.000000  768.000000  768.000000  \n",
       "mean    31.992578                  0.471876   33.240885    0.348958  \n",
       "std      7.884160                  0.331329   11.760232    0.476951  \n",
       "min      0.000000                  0.078000   21.000000    0.000000  \n",
       "25%     27.300000                  0.243750   24.000000    0.000000  \n",
       "50%     32.000000                  0.372500   29.000000    0.000000  \n",
       "75%     36.600000                  0.626250   41.000000    1.000000  \n",
       "max     67.100000                  2.420000   81.000000    1.000000  "
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#各属性统计特性  ()\n",
    "data.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3.1目标特征y的直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2046b2e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(data.Outcome)  #离散型变量\n",
    "plt.rcParams['font.sans-serif']=['SimHei']      #绘图支持中文\n",
    "plt.rcParams['axes.unicode_minus']=False       #绘图支持中文\n",
    "plt.xlabel(\"糖尿病\")\n",
    "plt.ylabel(\"数量\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3.3输入特征x的直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x204580b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(data.Pregnancies)  #离散型变量\n",
    "plt.xlabel(\"怀孕次数\")\n",
    "plt.ylabel(\"数量\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fe1bcc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(data.Glucose.values,bins=30,kde=True)  #连续型变量\n",
    "plt.xlabel(\"血浆葡萄糖浓度\")\n",
    "plt.ylabel(\"比例\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 可看到左边有几个离群点,画出散点图看下它们值是多少"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ff5a710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data[\"Glucose\"].values,color='purple')\n",
    "plt.title(\"血浆葡萄糖浓度散点图\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 显然,血糖浓度为0是不正常的数据，后面会去掉这些噪声"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x207a56d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(data.BloodPressure.values,bins=30,kde=True)  #连续型变量\n",
    "plt.xlabel(\"舒张压\")\n",
    "plt.ylabel(\"比例\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###### 同样左边有离群点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x207b6470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data[\"BloodPressure\"].values,color='purple')\n",
    "plt.title(\"舒张压散点图\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1ff4db70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(data.SkinThickness.values,bins=30,kde=True)  #连续型变量\n",
    "plt.xlabel(\"皮肤褶层厚度\")\n",
    "plt.ylabel(\"比例\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 这个离正太分布差别比较大，不太好判断哪些是噪声"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20883c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data[\"SkinThickness\"].values,color='purple')\n",
    "plt.title(\"皮肤褶层厚度散点图\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2004fd68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(data.Insulin.values,bins=30,kde=True)  #连续型变量\n",
    "plt.xlabel(\"胰岛素含量\")\n",
    "plt.ylabel(\"比例\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x204c4588>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(data.BMI.values,bins=30,kde=True)  #连续型变量\n",
    "plt.xlabel(\"体重指数\")\n",
    "plt.ylabel(\"比例\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fcf3f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(data.DiabetesPedigreeFunction.values,bins=30,kde=True)  #连续型变量\n",
    "plt.xlabel(\"糖尿病家族史\")\n",
    "plt.ylabel(\"比例\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3.特征工程"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1去掉噪声点"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 数据探索可以看出，血糖浓度Glucose与舒张压BloodPressure两个特征含有近似为0的离群点，明显不合常理，应该去掉。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(728, 9)"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 去除噪声\n",
    "data = data[data.Glucose >= 20]\n",
    "data.shape\n",
    "data = data[data.BloodPressure >= 20]\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 去掉了40个噪声。而其他特征离正态分布差的比较远，不太好判断离群点，故不做处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2多个特征之间的相关性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [],
   "source": [
    "#数据集所有的特征列\n",
    "columns=data.columns\n",
    "\n",
    "#corr()计算相关系数,abs()取绝对值,通常认为大于0.5为强相关\n",
    "data_corr = data.corr().abs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyQAAAJ6CAYAAADZ+YY3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xd4U+X7x/H301Bomy72LpQps2wos4CIKCDLvRcIAi4QAVkqKCiKKA5AEQGVH1NBVBRkC4jsrSgIsspoS1tQpOf3RyNfoGmpkOQ0+HldVy/SJ3dO7qdknDv3c06MZVmIiIiIiIjYIcDuBERERERE5L9LBYmIiIiIiNhGBYmIiIiIiNhGBYmIiIiIiNhGBYmIiIiIiNhGBYmIiIiIiNhGBYmIiIiIiNhGBYmIiIiIiGSbMaawMWZ5FtcHGmPmGWNWGmMeutz2VJCIiIiIiEi2GGPyApMBZxZhvYCfLMtqBHQxxoRltU0VJCIiIiIikl3ngNuBpCxi4oD/c11eBtTJaoO5PJKWXHPOHvvVsjsHu8VWu9/uFGxVMjDS7hRstfX0QbtTsN2f5/6yOwVbHUlNsDsF2wUG/Ld3EzaXLW93CrbrnxRidwq2m75vrrE7hwt5ex8td8Gy3YCuFwyNtyxr/D+/WJaVBGBMln8WJ/CH6/IJoHBWwf/tVxoRERERETnPVXyMv2xg1pKBYCARCHX9nikVJCIiIiIi/iLtnN0ZZMdPQGNgJhADrM4qWAWJiIiIiIhcEWNMC6CyZVlvXzA8GVhgjGkCVAbWZLUNFSQiIiIiIv7CSrM7AwAsy4pz/bsYWHzJdfuMMa1I75IMtiwry7aOChIREREREfEoy7IO8r8zbWVJBYmIiIiIiL9IyxkdEk/S95CIiIiIiIht1CEREREREfETVg45hsST1CERERERERHbqEMiIiIiIuIvdAyJiIiIiIiI56hDIiIiIiLiL67BY0hUkIiIiIiI+Iu0LL9j0C9pyZaIiIiIiNhGHRIREREREX9xDS7ZUodERERERERsow6JiIiIiIi/0Gl/RUREREREPEcdEhERERERP2HpGBIRERERERHPUYdERERERMRf6BgSEREREd/LmzeC5i0akz9/3izH5L/BGRFKtcYxhOUNszsV8QAVJNlgjBlqjNlhjFlmjFlkjClmd06XMsaMsTsHTzp24iT3de9jdxpeM2h0Pz6c9y4PP3lfpjH5CuRlwty3M4yXrRjNuM9e92Z6PvH4qF68MudVuvS6ze31IWEhDJo8lCFTX6Df+AHkCkxv6EYUiGT4zFd8mapHjRgziP9bMIkeTz+c7ZgSUcWY8MmbfDJvIs8NewqA8IgwJnz6JrO/ncKLrw3wSe6eNmrsMOZ8M5Vez3TNdkxERDgfTX+H+Ys+4+XXB/sqVY96771XWbpkLs891/tfxRQqVIBFi2ZliJ0960OqV6/slVy9Ydy7r7Do+1k8269ntmMiI8OZMesD6tSJYcFXn1CgQD63Y/6mwLCnKTZ1DJFd73If4AggauFUin74KkU/fJXA8qXPXxXx0G2E33WLbxL1om6jevLinFfo1OtWt9cHh4Xw3ORBDJgylGfefw5HYC6c4U76TXqecjXKM/izlwjLF+7jrG1mpXn3xwYqSLJvuGVZTYFJQC+7k7mUZVlP2p2DpyQmnWLgS6M5feaM3al4RfObmhLgcPBQu+4UjypGyegSGWLCIkIZOnYgwSHBGa57aljP8zvn/qrBjbEEOBw817EvRaKKULR00QwxTTvE8cXEuQy7ZzAJ8SepGVcLZ4ST3q8/SZ7gIBuyvno33Nwch8PBbTc9SMlSxSlVpmS2YvoO7s240RO4q90jFClWiHoNa9PhtpuZN/NrOrW6F2eok6oxlWyY0ZW7sW1LHAEOOra+h6jSJShdJipbMZ1ub8vcGV/StuUdOEOdVK/hPzviALfcciMOh4NmcR2Ijo6iXNnS2YqJjIzgg4lv4LzkNeGOOzrw66/72Lx5u49mcHXa39IaR4CDls07Uzq6JGXdzN9dTNWqlejf7yVeHTWO775bTkyNqm7H/ElIy0YYRwAH73mSwBJFyBWV8bPO3BXKkPzV9xx6qC+HHurL2Z/3ApCrZDGczRqQ9Nk8H2ftWfVubEBAQACDOj5HoajCFHHzXtCkQzO+nPAFI+4dSkL8SWo0q0lUpdJMefFD5rw9k03LNlCmahkbshdPUkHy7+UFThtjlhhjXjXGfANgjAkxxsx0dVHGucaCjTFfGWPWGGM+McYMcHVbhrviNhpjihhjQo0xXxtjlhtjJrlu6y4uyBjzmTFmhTFmvjEm5J+kjDFLLricWS7zXWNzjDE5do/W4QjgtRf643SGXD7YD9WOrcl3XywGYPXSH6lRr3qGmLRzafTvNoSUUykXjbe/4ybWrdzgkzy9qUpsNVbOXw7AxmUbqFQ3407l11MWsGn5RgDC80eQeCyRtHNpjH58FKeTU32ar6fUb1SHBZ9/C8CK71dTp36NbMVEl41i2+adABw/doKw8FASTiRSvlJZwsJDKVK8MIcOHvHdRDwgtlFd5s/9BoBl36+iboNa2Yo5eSKRipXKER4eRrHihTn4h3/Nu1nTWGbNTN+J/O67ZTRsVC9bMefOnePue3qQdCr5fFzevJGMfGUQJxMSadYs1jcTuEpNmjRg9uwvAVj83XJiG9bJVsyKFWv48ceNNGpUjzp1Yli7Zr3bMX8SXDeG5G+WApC6aj1BtTIWVEHVKxHStD7FPhlLgWFPgyN9t63g4Cc4u+8AoTc1hwD/3ZWr3KAqP3y5EoDNyzZyXd2MH6wsnPIVW1ZsAtLfC5KOJ7JjzTZ+3rCbSvUqUy6mPLvX7/Jp3rZLO+fdHxv476PY9wYaY5YBDYA3Xf/+YFlWa9f1XYGtri5KUWNMdeA64ADQGChnWdYIV2w5V9xsoAVQFHgLuB4obYwpnElcV2CTZVmNgVlAZh8HuculMpB2QZcn9Or/JN4R6nQSFuq0Ow2vCQ4J4ujheAASE5LIVzDj2ueU5NQMxUhE3nDadL6BKe9+6pM8vSkoOA8nDh8H4FRCMpFu/gb/qFirIqERoezesIvTyadJPeWfxQik/98fOXQUSP+/z18wf7Zivp63iJ59u9LihiY0bdGQH5avZd2aDRQvUZT7H72TPbt/I/Fkkk/ncrWCncEcPpReTCScTKSgu7+Fm5gfV6+neMliPNjtbn7Z/RsJJxN9mvfVCnGG8MfBwwCcPJlAoUIFshVz6lQySUmnLorr3fsRZs/+kokTp3H33V1oe3Mr70/gKoU4gznoKp5PnEzMZP6Zx3Tu0paTCYmcPXs2yzF/YIKDOHck/XUwLfEUDjfHwfy5dReHHn2Og3f1xuRyENKkHkH1a2CC83Bi3MeY4CDyPf2Ir1P3mDwhQZx0vRckJyQTUSAy09jytSrijAjl5w27z4/FtmtMcmIyf5+1ZydaPEcFSfYNtyyrqWVZd1uWlUj6Dv/sC66vCHR0dSrKAMWBP4DawDLSi5h/fOz693cgN3AWeASYBuQDgjOJuw5Y6xr7CPgxk1zd5bIe2GqMWQi0BjLs1Rljuhpj1hlj1k382P93enOq1NTT5AnKA6S/8QZk89OtngMf4+0R4zn3t/+/8J5JPUNu198g2BmEMcZtXGhEKI+80I23+7zp9np/k5pymqCL/u8zzttdzDuvf8CyRau49Z4OzJk+n9SU0/Tq25XBfUbw9ugJ/PrzXjrf2c6nc7laqSmpBLmW3jmdIRi3f4uMMU/2686AZ17gzVff45eff+O2uzv4NO+rlZKcQvAFc3L3/M9ODECNmCq8995kjhyJZ9bMeTRtmvO7JCnJqQS7Ht+hoZnNP/OYp58azLatO7n55uuzHPMHVuppTFBuAEyI+9fBP3f/xrljJ9Ivb/uZwKji5LmuHKc+/5ZzR46R/MW3BNeN8WnennQm5TS5XX+DIGcQJpPHujMilAeHPcp7fd+6aPzDQeP5fec+6rSq6/VccxQdQyIXSL7k913AGMuy4oDnSS8ibgRetCwr1rKsaRfEplxy24eBmcCdl1x3adxO4J9n3QDSixh33OUSA6y0LOsG0pedNbn0RpZljbcsq45lWXUeue/OTDYtV2vn5l3nl2mVr1yOg/sPZet2tRrUoPfzj/H+rLFUqFKO7v3891OxPVt+Ob9Mq3TlaI4eOJohJldgLvq+9xxTR35M/B/xvk7RK7Zu2kHt+jUBuK5KBf74PeP/fWYxO7buoliJInz4bvpLSXhEOBUqlyMgIICY2lWxLB9NwkO2bNxO3Qbp86xctSIHfj+YrZiIiHCuq1yegIAAatauhuVnE1+/YQuNGqYv06pevTL79h24ohiAPXv2Eh2dfuxNrdox/P67+7icZMOGrcQ2TH8bq1atktu5uYt56ulu3HlXJyD9xAYJiafcjvmTP7f/TFDN9IUOeSqW4aybZZeFXn6W3BXKQEAAzhYN+Wv3r5zdf5DAEunHWuSpUoG/D2V8/fQXv23ZQ0XXMq1SlUoT7+a9wBGYi6fefZZPR07hmOu9oP1jHWnaKQ4AZ7iT1KRLd5fE36gg8ZwJQBvXsq7HgP3ABuAtY8xi17EfmS2x+hboDyx2/V48i/uo5ep81AKm/Itc9gK9jTGrgCLAun8xN/GgJV8t56YurXlqaE9atW/Or7t+y1Zx0bnxXXTr3JtunXuze9svvDtyog+y9Y4136ymWafmPDjoYRrd3Jj9u/dxV597LoppeXsrylQtS5eet/Hi9BE0atfYpmw957sFS7jl1pvo/8JT3HRLK37etYen+nfPMub7b1cA8Mjj9/Hhu9M4czr9ZA/vvzmJl0YPZP2vS4mMDGf+nK99Pp+r8c2CxXS6rR2DXurLzR1as3vnL/QZ0CvLmMULlzFuzEReeWMI2/b+QGTeCD6ftcCmGVyZL774hrvu6sSokYPp0rkt27fvYujQvlnGfPXVIrfbGv36e3Tv/gDffz+bJo3r8dHk6b6YwlWZP28hd97ZkZdfGUinTjezY8fPDB7yTJYx33z9PZM+/JQ77+zINwun43AEsOi7ZW7H/EnK4lWEtmtJvr7dcLZuxtlf9pG31wMXxZx8bxoFX36WEjPf5cym7ZxevYHUJasJCA+l6Eejyf9cD06Mm2zPBDzgx4VraNoxjnsHPUhs20Yc2P07t/e5+IxjLW6/nuiqZejY81YGf/YSsW0bseiThTTpFMfQ/xtOgCOATcs22jQDm6SleffHBsbfPl3yJ8aYR0nvepx1/bxmWdYSW5PKprPHfv3PPzBiq93vtW2HRYRSv2ldNqzexPH4E167n6tRMjDztbye4IxwEtOkJtvXbCUhPsGr93Ultp7O+Im9J4RHhNEorgE//rCeY0ePX3GML/x57i+vbj8iIpwmzWNZs2od8ZnMMzsx3nIk1TuPy8jICFq2bMKKFWs4csR99y87Mb4QGOD5859ERobTokUTVqxcw9Ejx644xhc2ly3v1e0HhIcSHFuLM+u2cO74Sa/e15Xqn+TdE8w4w51Ua1KDHWu3kZgD3wsApu+b635dsU3+3LbIq/toeaq09Pl8VZCIWypIvFuQ+ANvFyQ5nbcKEn/i7YIkp/NWQeJPvFGQ+BNvFyT+wNsFiT/IcQXJ1m+9W5BUbeXz+WrJloiIiIiI2Oa//dGHiIiIiIg/sek4D29SQSIiIiIi4icsy/9P/38pLdkSERERERHbqEMiIiIiIuIvbPryQm9Sh0RERERERGyjDomIiIiIiL+4Bg9qV4dERERERERsow6JiIiIiIi/0DEkIiIiIiIinqMOiYiIiIiIv0jT95CIiIiIiIh4jDokIiIiIiL+QseQiIiIiIiIeI46JCIiIiIi/kLfQyIiIiIiIuI56pCIiIiIiPgLHUMiIiIiIiLiOeqQiIiIiIj4Cx1DIiIiIiIi4jnqkIiIiIiI+ItrsEOigkQkEz9smWx3Cra7q/ZTdqdgm9S/z9idgu16hNewOwVbrQtNsjsF2+07e9LuFGw18lSE3SnY7om/rr2dX8l5VJCIW7HV7rc7BVupGBEREZGcyLLO2Z2Cx6kgERERERHxF9fgki0d1C4iIiIiIrZRh0RERERExF/oixFFREREREQ8Rx0SERERERF/oWNIREREREREPEcdEhERERERf6FjSERERERERDxHHRIREREREX+hY0hEREREREQ8Rx0SERERERF/oWNIREREREREPEcdEhERERERf6FjSERERERERDxHHRIREREREX+hDomIiIiIiIjnqEMiIiIiIuIvdJYtERERERERz1GHRERERETEX+gYEhEREREREc9Rh0RERERExF/oGBIRERERERHPUUEikgMdO3GS+7r3sTsNyeEiIyNoEhdL3nyRdqfiNUERTqIbVyU4b6jdqUgOUqBQfuo1qUOIM9juVER8Ly3Nuz82UEFiA5NurDFmhTFmtjEmt2t8ic2p+cyg0f34cN67PPzkfZnG5CuQlwlz384wXrZiNOM+e92b6dkqMekUA18azekzZ+xOxau6j+rJ8Dkj6dTrVrfXh4SFMGDyYJ6fMpS+7/cnV2Aut2P+5rWxL/DFN9N44plu2Y6576HbmTFvEjPmTWLhslmMfGMIERHhTJ4+jpq1qzFj3iTy5c/rqyl4zM2jHuX+OUNp1KuD2+uDwkO4fVIfitUoyz2fPU9IvrDz1zkLhPPwguG+StUrHh/Vi1fmvEqXXre5vT4kLIRBk4cyZOoL9Bs/4PzjPaJAJMNnvuLLVL1m8Ojn+Gjeezz85P2ZxuQrkJcP5o47/3tUmZK88v4watStxoQ5b/vl68A/7h3ZnX6zh3NTz05urw8KC6HXRwN44uPneez9vjgumOudLz5C9Za1fZWq15Qd3YNq80ZQ4snOWcYFFoig+sJXAchTshCVpgyg6twXKT0k88fONctK8+6PDVSQ2KMlUNqyrMbAVsD9Htk1qvlNTQlwOHioXXeKRxWjZHSJDDFhEaEMHTuQ4JCMn349NaynX78BXY7DEcBrL/TH6QyxOxWvqXdjAwICAhjYsR+Fo4pQpHTRDDGNOzRj/oTPeeneoSTEn6RGs1pux/xJm7bX43A4aN/6bqJKlyC6TFS2Yj7+cDq3tnuQW9s9yJoffmLa5JlUqlKBYQNHMXb0eJYuWkm1mMo2zOjKVbyxDiYggMkdh5I3qiB5SxfOEFOoUhTfvjiNlW9/zq/LNlOkaunz17UceDe58uT2Ycae1eDGWAIcDp7r2JciUUUo6uY50LRDHF9MnMuwewaTEH+SmnG1cEY46f36k+QJDrIha89qcVNTAhwBPNDuMUpk+l4Qxgtjnyco5H/zLV+pLEOfHMH41yfxx76DFI/K+LfzBzVb1yPAEcDITgMpEFWYQqWLZIipf0tjvps4nzfve4mk+ASqNKsBQLm61xFRMJLNi37yddoele+m+hhHAFvaDSBPVGGCojP/vyw15H4CgvOkX37+Xva/MYOtHQaRu2h+wmOr+Cpl8RIVJPaIA5a4Lr8FfH9pgDFmqDEmznX5AddPkDHmM1dnZb4xJsQYk8cY86kxZqkxZpoxJrcxJth1/TJjzBxjTC5X7EzX2LhL78+XasfW5LsvFgOweumP1KhXPUNM2rk0+ncbQsqplIvG299xE+tWbvBJnnYJdToJC3XanYZXVWlQjVVfrgRg07KNXFc34870wilfsXnFJgDC80eQeDzB7Zg/iW1cl3lzvwZg6ferqNsgY0GVVUyRooUoWDA/mzduY/Wqdaxft5n6DWtTo3Y1fvpxo28m4SGlGlRmx5erAfh12RZK1q2YIeb3NTs5uOEXSta7jmIxZTmw/pf02zaszNnUP0mJ96///wtVia3GyvnLAdi4bAOV3DwHvp6ygE3L0/9fw/NHkHgskbRzaYx+fBSnk1N9mq831I6tybeu94Iflq6lptv3gnM8120wKaf+N99FXy7h0IEjNG4ZS3hEGPt/+8NnOXtShQZV+Gn+KgC2L99EubrXZYhZOnUhO1ZsBiA0XzinjicSkMvBva88xvED8cS0quPTnD0tIrYKx75I/xskLN1EeL2MfwOA8EZVSUs9w9mjJwEILlOUlC2/AXD2WCKO8Gv3Azy3tGRLPKQgkGSMuReYB7jv1WbUFdjk6qzMAqoCjwJbLctqBvwMPARUBtIsy2oKTAJCXbfd6horaozJ8MpvjOlqjFlnjFkXn3r46maYheCQII4ejgcgMSGJfAUzLjVJSU7NUIxE5A2nTecbmPLup17LTXwjKCQPJw4fByA54RSRBTI/BqJCrYo4I5z8vGF3lmP+ICQkmMOHjgKQcDKRgoUK/KuYBx65k48/nH5RfPuObUhMSOLvs397MXPPCwzJw6nD6TsXpxNScBaIyDS2crsGnElMIe3s3wQEOmjcuyOLR37mq1S9Iij4f8+BUwnJRLp5HfxHxVoVCY0IZfeGXZxOPk3qKf8vRgCCQ4I5evgYAEkJSeQrmC9DTEpyKsmXvBcABDuDadW+BYcOHMGyLK/n6g25Q4JIOHICgJSEZMKyeB0sU6sCzggnv234mdhOzTj08wG+ef9zSseUp/n9N/oqZY8LCAniL9fz4O+EZAILZvwbmMBclHzqVvYNn3p+7PiXP1DymdvI26oOkc1rkrh8i89yFu9QQWKPRCDMsqwpwFDgckek/rNu6TpgrevyR8CPpBcfa1xjq4FKwHpgqzFmIdAaSAUqAh1dx6mUAYpfeieWZY23LKuOZVl1CoZkbB17SmrqafIEpbddQ5zBBARk72HYc+BjvD1iPOf+Pue13MQ3zqScIXdQ+nKbIGcQJsC4jQuNCOWhYV15p+9bWY75i5SUVIJcj32nM4QAN/POLMYYQ8PG9Vi1Yu1F8QP7vsSObbu5oU1zL2fvWX+lnCGX6zGQ25kn08cAwDeDPuLozt8p36o2Dbu356ePv+XPJP/eKT+Teobcrv/nYGcQxmT+HHjkhW683edNX6bnE6mpp88/1tPfCzJ/DFwqOSmZIU8MJ1eggyo1KnkrRa/6M/UMgf+8DoYEEZDJYyAkIpQ7hj7E5GffAaBklWiWf/odSfEJrJmzjIqxVX2Ws6edSz1DgOtv4HAGgZvHQPGeHTn80decu+A5f2DMLE4uXk/hu1oSP+N70lKv7WMuM1CHRDxkJemFAkBMJjF/kd5JAfjn44+dQF3X5QHAI8A2oIFrrIHr9xhgpWVZNwB5gSbALmCMZVlxwPPA756YyJXYuXnX+WVa5SuX4+D+Q9m6Xa0GNej9/GO8P2ssFaqUo3u/R7yZpnjRni17zi/TKl0pmvgDRzPE5ArMxdPvPssnIz/m2B/xmY75ky0bt59fglW5akX2/34w2zH1Y2uz4af/fQrY44mH6XJ7ewDCI8JITDzl7fQ96vCW3yhZtwIAhSuVIvHAsQwxsY+1pVqnxgDkCQ/hz6QUohtXpc59rbjns4EUrlyKm0f65+vAni2/nF+mVbpyNEczeQ70fe85po78mHg/fLxfzo4L3gsqVC7Hwf3Z68z3f+UZajVIf+sMCw/jVJJ/Pfb/8fuWPZSrk75EqUTl0hw7kPH/2BGYi27vPM2cUZ9w4o/050j8vkMUKFkIgFLVy3Lcjx8bKZv3EF4vvaB0Vi7Nn/szPg8imlanyIM3UmXWMJxVoin7Wvf0227dS+7iBTj4/jyf5izeoYLEHl8AvxljfgBuyCKmlzHmPeC4a2wCUMvV5agFTAEmAlWMMcuA8qR3TvYCvY0xq4AiwDrXbdu44h4D9nt+Wtmz5Kvl3NSlNU8N7Umr9s35dddv2SouOje+i26de9Otc292b/uFd0dO9EG29vno7VF2p+A1Py5cTdOOcdw/6CFi2zZi/+7fuaPP3RfFtLj9eqKrlqVTz1sZ+tlLNGzb2O2YP/l6wSK63N6eIS89S7sOrdm98xeeHdg7y5hFC5cCENeyEatXrTsfN+2jGXS+vR2zvpyMw+Fg6eKVPp3L1dq18CeqdWzM9YPuplLb+sTvPkCzPhef32PDJ4up2qkx9/7fIAIcAfy6bAtTbnuRqXcMZ+odwzmyfR9f9vPP14E136ymWafmPDjoYRrd3Jj9u/dxV597LoppeXsrylQtS5eet/Hi9BE0audfj/fLWfLVMm7u0pqnh/akVfsW7Nn1Gz36PXrZ200e9wmP9+/GB3PHsXXjdvbtse3t7KpsXPgj9Ts15dbn76f2zbEc+nk/tzxzx0UxjW5vQcmq0bTp2YmnPxtKnbYNWTF9MRVjq9Jn+jDi7m3Nt+P9d4f8xFdrKdilGaWHPkD+9g1J3bWfkv3uvChmW8dBbOs8hG2dh5Cy7Tf29HkXgOI9buHQ+Pmknf7LjtTtZVne/bGB8de1l+JddYo28eoDIywilPpN67Jh9SaOx5/w5l1dkR+2TLY7hRzhrtpPeW3bznAn1ZvUYMfabSTkwIOTVyX94pXtRkSE07R5LKtX/UT80YxdgezG+EKP8Bpe3X5QeAjRTarx+9qdpMQnevW+rsQ6K8mr23dGOIlpUpPta7bmyOcAwL6zJ726/bCIMBo0rcv61Rtz5HtB3TzePYNXSLiTSk2q8/PaHSTl0MfA/X96dwmPI8JJZNMYklZv52wO/Rs0PDQr++sJfeD09GFe3UcLvn2Iz+ergkTc8nZBktOpIEnnzYIkp/NWQeJPvF2Q5HTeLkj8gbcLkpzO2wWJP/B2QeIPclxB8ukQ7xYkdw7z+Xy1ZEtERERERGxz7X67nIiIiIjItcamM2F5kzokIiIiIiJiG3VIRERERET8haUOiYiIiIiIiMeoQyIiIiIi4i90DImIiIiIiIjnqEMiIiIiIuIvrsHvEFSHREREREREss0Y84Ex5gdjzPOZXJ/XGLPAGLPOGPP+5bangkRERERExF+kpXn35zKMMZ0Ah2VZsUAZY0x5N2H3AtMsy6oDhBlj6mS1TRUkIiIiIiKSXXHA/7kuLwQau4k5DlQ1xkQCJYH9WW1QBYmIiIiIiL/wcofEGNPVtdTqn5+ul2TgBP5wXT4BFHaT5QqgFNAb2OGKy5QOahcRERER8Rde/mJEy7LGA+OzCEkGgl2XQ3Hf4BgCPGZZVpIx5mkfI3FOAAAgAElEQVTgway2qQ6JiIiIiIhk10/8b5lWDLDXTUxeoJoxxgHUB7I8NZg6JCIiIiIifsJKs/20v3OB5caYYkAb4A5jzEuWZV14xq2XgUmkL9v6Afg0qw2qIBERERERkWxxLcOKA1oBoyzLOgxsuiRmLVAlu9tUQSIiIiIi4i+ycWpeb7Ms6yT/O9PWVdMxJCIiIiIiYht1SERERERE/IWXz7JlB3VIRERERETENuqQiIiIiIj4C/vPsuVxKkjErZKBkXanIDnAJz+9YXcKtgou1sTuFGw1+u+1dqdgq075Y+xOwXbzjv9mdwq26lC0lN0p2G6A44jdKdhuid0J/AeoIBFx467aT9mdgu3+68WIiIhIjpQDzrLlaTqGREREREREbKMOiYiIiIiIv1CHRERERERExHPUIRERERER8RfWtXeWLXVIRERERETENuqQiIiIiIj4Cx1DIiIiIiIi4jnqkIiIiIiI+Itr8Jva1SERERERERHbqEMiIiIiIuIvrGvvGBIVJCIiIiIi/kJLtkRERERERDxHHRIRERERET9h6bS/IiIiIiIinqMOiYiIiIiIv9AxJCIiIiIiIp6jDomIiIiIiL+4Bk/7qw6JiIiIiIjYRh0SERERERF/oWNIREREREREPEcdEhERERERf6HvIRERERERXwmKcFKmcVWC84ZmOSbiz/7TBYkx5iNjzAZjzBJjzHRjjMM1vuQqtzvUGBPn+neHMWaZMWaRMaaYRxK/Bjw+qhevzHmVLr1uc3t9SFgIgyYPZcjUF+g3fgC5AtObeREFIhk+8xVfpuoV3Uf1ZPickXTqdavb60PCQhgweTDPTxlK3/f7kyswl9uxa9mxEye5r3sfu9PwiPHvv8aKZV8woP8T/yoms9u9NXYEbW9uddmxnG7suBF8s+j/eKZvj2zHOBwONm9fyhcLpvLFgqlUqlzBV+l63P0ju9N/9nBu7tnZ7fXBYSE88dFAnvp4ED3e74vjguf83S8+QkzL2r5K1SM8/TwoVKgAP679BoDSpUvyxdyPWbJ4Nq+OHOydCXhBu1GP8tCcoTTp1cHt9UHhIdw5qQ/FapTlvs+eJyRfmNsxf9b3tWcY9/lY7u19d6YxeQtEMnbWG+d/f+CZ+xgzYzRjZozm4yUfctfjd/oi1ZwjzfLujw3+0wWJSy/LsuKAk8ANXtj+cMuymgKTgF5e2L7faXBjLAEOB8917EuRqCIULV00Q0zTDnF8MXEuw+4ZTEL8SWrG1cIZ4aT360+SJzjIhqw9p96NDQgICGBgx34UjipCETfzb9yhGfMnfM5L9w4lIf4kNZrVcjt2rUpMOsXAl0Zz+swZu1O5ah06tMHhcNC4aXuio6MoVy46WzGZ3a5xo3oUKVKQ+V9+e/727sZyurbtbyDA4aB1y9soHV2SMmVLZSumStWKzJo5n/Y33UP7m+5hx/bdNmR/9Wq1rk+AI4CXOw2kYFRhCpUukiGm/i1N+HbiPN6470WS4hOo2qwGAOXrViKiYF42LfrJ12lfMU8/DwBGjRxMsOv94OURAxk+YgxxLTpRvERRmjWN9dncrtR1N9bBBATwYcehREYVJF/pwhliCleKYuGL01jx9uf8umwzRauWdjvmr5q0aYwjIIDHb+lN0aiiFI8uniEmNCKU/mP6ERTyv/f+j0Z/zJO3PsOTtz7Db7v2snDWQl+mLV6gguR/CgAplw4aY/IYYz41xiw1xkwzxuTOZCyvMeY7Y8z3QJyb7ecFTru2ucQY86ox5hvX7yHGmJmuTso411iwMWa+a2yOMSZXJmNDjTFxrts8YIx5ILv3YZcqsdVYOX85ABuXbaBS3coZYr6esoBNyzcCEJ4/gsRjiaSdS2P046M4nZzq03w9rUqDaqz6ciUAm5Zt5Do381845Ss2r9gEuOZ/PMHt2LXK4QjgtRf643SG2J3KVWvWNJaZM+cB8O13S2nUsG62YtyN5cqVi/fee5V9ew/Qrl365yfuxvxBo8b1mTt7AQDfL1pBg9g62YqpU7cGrW9szrffz2TsuBE4HA6f5u0pFRtUYd38VQBsW76J8nUrZYhZMvUbtq/YDEBovnBOHU/EkcvBfa88xrEDR6nRKuNjKafy5PMAoHlcI1JSUjly+CgA5cuXYf2GLQAcPXqM8Iic3zUo1aAy279cDcCvy7ZQsm7FDDH71uzkjw2/EFXvOorFlGX/+l/cjvmrGrExfD9/KQDrlq2jWt2qGWLSzqUxrPtLpLp5768YU5H4Q/EcO3zc67nmKFaad39soIIE3jLG7ASKAT+4uf5RYKtlWc2An4GHMhnrCsy3LKs5cPaC2w80xiwDGgBvusYaAD9YltXa9XtX1/aaAkWNMdWBykDaBd2V0EzGMpOd+7iIMaarMWadMWbd3uR9WWz66gQF5+GE68XjVEIykQXzZhpbsVZFQiNC2b1hF6eTT5N6yr+LEYCgkP/NPznhFJEFIjONrVCrIs4IJz9v2J3l2LUm1OkkLNRpdxoe4XSG8MfBwwCcPJFA4cIFsxXjbuzee7qwY8duXh39DvXq1uTxHg+6HfMHTmcwhw4eAeDkyUQKFsqfrZgN67fQsd39tGrehVy5ctGqdTOf5u0puUPycPLICQBSEpIJLxCRaWyZWhVwRoTy64afie3UjEM/H+Dr9z8nOqYcLe5v46uUr4onnweBgYEMHPAkAwaOOH/b2bO/ZPCgp2l7cyta39CcxYtX+GBWVyd3SB5OHT4JwOmEFEKzeAxUadeAM4kppJ39O8sxfxMUEsSxQ8cASEo4RT43+wOpyamknMrweTEAXR7uyOxJc72ao/iGCpL0ZVSVgR+B59xcXxlY47q8GqiUyVg0sMk1tu6C2w+3LKupZVl3W5aV6BrbalnW7AtiKgIdXceulAGKA+uBrcaYhUBrIDWTsQsFX3A5O/dxEcuyxluWVceyrDqlQzMun/CUM6lnyB2UJz1hZxDGGLdxoRGhPPJCN97u86bb6/3VmZQz5A7KDUCQMwgTkPn8HxrWlXf6vpXlmORsyckpBAelLzVwhjoJCMj4susuxt1YjRpVmThxGkeOxDPtk1nExTV0O+YPUpJTzy+3cYaGuP27uIvZtnUXR47EA7Bxw1bKli3ts5w96c/UC14HQoIwxv3bsTMilLuGPsykZ9Mb21FVoln66bckxSewes4yrovN+IlyTuTJ50G/Zx/n3fcnk5iYdP62I15+k6+/XsxDD93JlKkzSEnJ+R9e/ZVyhlyux0BuZ55M3wsAvhr0EUd2/k6FVrWzHPM3p1NOkyf4n/2B4Ez3B9wJDXcSmT+Sg/sOeSu9nEvHkFybLMtKI/0YEnc93m2kdxtw/bstk7HfgSqusRqXucvkS37fBYxxHcvyvGtbMcBKy7JuIH25V5NMxv4C/vmo6cZ/eR+22LPll/PLtEpXjubogaMZYnIF5qLve88xdeTHxP8R7+sUvWrPlj3nl2mVrhRNfCbzf/rdZ/lk5Mccc83f3ZjkfOs3bKFRo/RlJjHVK7N33/5sxbgb27NnL9HR6R8W1K4dw+/7/nA75g82btxKg9j0HamqVa9zm7e7mPcmvEqVqtcREBDATW2vZ+uWnT7N21P2bfmVcnXSl2mVqFyKY25eBxyBuXjsnWeYPWoaJ/5I/xT56L7DFCyZfqxBqeplOe4nrwWefB60bNGEHo/dz6JvZxATU4X333sVgI2btlGyZHHeGPO+j2Z1dQ5t+Y2ouuknZShcqRQJB45liGn4WFuqd2oMpB/g/mdSitsxf7V788/nl2mVrVyGwweOZPu2jW5oyJrFa72VmvjYtX2anux5yxjzz0cpd7m5fiLwkWvZ1X5gBGDcjIUDM4wxXYDAf5nDBGCSMeZBIMmVRwAw0hgzEDhDetfFuBk7ArxjjGkJZLWI0t192GLNN6sZPnMk+Qrno1ZcbUb3HMVdfe7hk9emno9peXsrylQtS5eet9Gl5218PXUBK+fl/BZ8dvy4cDUvzHiZfIXzUSOuFmN6vsYdfe7ms9emnY9pcfv1RFctS6eet9Kp560snPo1oZGhGcZWzb82/ibXss8//5ol38+hWNEitL6xOXff04MXhj3L4CGjMo1p1LgdlmVlGEtLS2PihNe5/bb2BAYGctsdXUlKOpVhzB8smP8dX37zCUWKFuL6Vs14+IEnGTDoKUa8+EamMa1adGH71p2M//B1jDF8tWARS5essnEWV27DwrX0m/EikYXzUi2uJu/3eoMOz9zB3NGfnY9pcnsLoqpGc3PPztzcszNLpn7D8umLeHDU49Rr1whHoIN3u4+2cRbZ58nnwWef/W+JzqJvZ9Dtsb4A9HmmO2PeHM/p0/5xMoydC3/igRmDCCucl7JxMczu+TbN+9zK96/NOB+z/pPFdHmnNzXvaM7R3fvZs2wLf2zck2HMX634ZiVjZ79B/sL5qd+8Li/0GM7DfR/kg1cnXfa2dePqMv29//NBljmPdQ1+D4mxrGvv6+fl6nWMaufVB4YzwklMk5psX7OVhPicd3B2rkyWT3iKM9xJ9SY12LF2W46cP8AnP71x+aBrXHCxJh7ZTmRkBNdf35Tly1efX26UnZjs3M6bwvN496QCEZHhNG/eiFUrf+To0YyfDmc3xls65Y/x6vZDwp1UblKd3Wt3kJRDXwc+Ouju0Mor44/Pg8FF47y6/aDwEMo0qca+tTtJiU+8/A1ssPhc9rsWVyI0IpQ6TWqzec1mTsSf9Op9XaklB77L/loyH0ju39mr+2ihL8/y+XxVkIhb3i5IcjpvFyT+QAWJ5woSf+XtgiSn83ZB4g88WZD4I28XJP7A2wWJP8hxBUm/Tt4tSEbO9vl8tWRLRERERMRf2HTguTfpY2AREREREbGNOiQiIiIiIv7Cpi8v9CZ1SERERERExDbqkIiIiIiI+AsdQyIiIiIiIuI56pCIiIiIiPgJSx0SERERERERz1GHRERERETEX6hDIiIiIiIi4jnqkIiIiIiI+Is0fQ+JiIiIiIiIx6hDIiIiIiLiL3QMiYiIiIiIiOeoQyIiIiIi4i/UIREREREREfEcdUhERERERPyEZalDIiIiIiIi4jHqkIiIiIiI+AsdQyIiIiIiIuI56pCIiIiIiPiLa7BDooJE3Np6+qDdKdgq9e8zdqcgOcDpg8vtTsF2c6sNsjsF2ySfNXanYLvfClWxOwVbffHX73anYLsTZ5PtTkH+A1SQiIhbwcWa2J2CrVSMiIhITmSpQyIiIiIiIra5BgsSHdQuIiIiIiK2UYdERERERMRfpNmdgOepQyIiIiIiIrZRh0RERERExE9ciwe1q0MiIiIiIiK2UYdERERERMRfqEMiIiIiIiLiOeqQiIiIiIj4C51lS0RERERExHPUIRERERER8RM6y5aIiIiIiIgHqUMiIiIiIuIvdAyJiIiIiIiI56hDIiIiIiLiJ3QMiYiIiIiIiAepQyIiIiIi4i90DImIiIiIiIjnqEMiIiIiIuInLHVIREREREREPEcdEhERERERf3ENdkhUkIiIiIiI+Akt2brGGGOcxpg5xpilxpgpxpgHjTEPZBI75jLb6mmMWWKMOe36t6MxZqgxJu4Kt/dAZrmIAERGRtAkLpa8+SLtTkW84NiJk9zXvY/daYjNckc6KdakKnnyhtqdioiI1/ynCxLgXuAHy7KaAX8CBTILtCzryaw2ZFnW25ZlxQF/WJYVZ1nWnMvEZ7m9a9GIMYP4vwWT6PH0w9mOKRFVjAmfvMkn8yby3LCnAAiPCGPCp28y+9spvPjaAJ/k7imvjX2BL76ZxhPPdMt2zH0P3c6MeZOYMW8SC5fNYuQbQ4iICGfy9HHUrF2NGfMmkS9/Xl9N4YqMf/81Viz7ggH9n/hXMZnd7q2xI2h7c6vLjvmrxKRTDHxpNKfPnLE7Fa+qM/pRWswbSqUnO2QZl6dAONcvHA5ArrBgGk97liafPUfDD5/EBDp8kapXNHrtEW7+YggxT9zi9vrcESG0mvwMBWqWoc2MgeTJF0ZoyYJc/3Ef2sweRN3Bd/k4Y8/r89rTvPX5GO7unflc8haIZMys0ed/v/+Zexk941VGz3iVSUs+4M7H7/BFql4xaHQ/Ppz3Lg8/eV+mMfkK5GXC3LczjJetGM24z173Zno+8cqYIcz8ajKPP/1ItmNKRBXjg0/HMn3eBwx44WlfpZpzpHn5xwb/9YLkD6CjMaa8ZVmPAPEAxpgqxpjvjTFh/wQaY5ZccHmoMWa4MWaZMWajMaZIFvfRyl3cJdsLMsZ8ZoxZYYyZb4wJueC687m4u19jTIgxZqZrbJzrNsGu7SxzdYByuRvzwN8v2264uTkOh4PbbnqQkqWKU6pMyWzF9B3cm3GjJ3BXu0coUqwQ9RrWpsNtNzNv5td0anUvzlAnVWMq+XIqV6xN2+txOBy0b303UaVLEF0mKlsxH384nVvbPcit7R5kzQ8/MW3yTCpVqcCwgaMYO3o8SxetpFpMZRtmlD0dOrTB4XDQuGl7oqOjKFcuOlsxmd2ucaN6FClSkPlffnv+9u7G/JnDEcBrL/TH6Qy5fLCfKn5THYwjgMXthuKMKkhodOFMY2OG3I0jODcApTo1Yvf7C1h+xyucOZpIkeYxvkrZo0q1SZ//l+2HERpViHA3889bKYq1w6axeewX/LF0M/mrlabOwDvYNGYOX3V6EWfRfBSJ9Y/XP3cat2lEQEAAvW55kqJRRSgeXSxDTGhEKM+O6UtQSND5scmjp/DMrX155ta+7N21l29n+efzvvlNTQlwOHioXXeKRxWjZHSJDDFhEaEMHTuQ4JDgDNc9NawnuQL9e+V965tbEOAIoEub+4kqVZzSbt4X3cX0G/wEb702gdvbPUyRYoWo36i2DdmLJ/2nCxLLsuYBbwCzjTFjAQdQFJgG3GlZ1qksbl7OsqymwGygxVXGdQU2WZbVGJgFVHWNu8vl0u11Bba6xooaY6oDlYE019gkIDSTMZ+p36gOCz5Pf9NY8f1q6tSvka2Y6LJRbNu8E4Djx04QFh5KwolEylcqS1h4KEWKF+bQwSO+m8hViG1cl3lzvwZg6ferqNug1r+KKVK0EAUL5mfzxm2sXrWO9es2U79hbWrUrsZPP270zSSuQLOmscycOQ+Ab79bSqOGdbMV424sV65cvPfeq+zbe4B27W4AcDvm70KdTsJCnXan4VUFYyuz/4vVABxZuoUC9Sq6j2tUmb9T/+TM0QQA9kz+jqPLtgKQJ384fx5L8k3CHlYkthJ7560B4ODSLRSqm3H+R1bvJH79HgrXr0iBGmWJ/+kXwssU4fiWvQCcPpZE7rCMO6r+IiY2hiXzlwLw07L1VK1bNUNM2rk0Xuo+nJTk1AzXVYypQPyheI4dPu71XL2hdmxNvvtiMQCrl/5IjXrVM8SknUujf7chpJxKuWi8/R03sW7lBp/k6U0Xvu8vX3L5fYN/YqLLlmLb5h0AHI8/SVh4WIbbXcusNO/+2OE/XZAYY8oDXwM1gIJACaAncAAodZmbf+z693cg91XGXQesdV3+CPjRddldLpduryLpXZ4lQBmgOLAe2GqMWQi0BlIzGbuIMaarMWadMWZd4pljWUzp3wsOCeLIoaMAJCYkkb9g/mzFfD1vET37dqXFDU1o2qIhPyxfy7o1Gyheoij3P3one3b/RuJJ/9ghCQkJ5rBrfgknEylYKOMKwaxiHnjkTj7+cPpF8e07tiExIYm/z/7txcyvjtMZwh8HDwNw8kQChQsXzFaMu7F77+nCjh27eXX0O9SrW5PHezzodkxyvlwheTh9+CQAfyWkkKdgRIYYE+ig8lMd2TL8swzX5atdjsCIEE6s/8XruXpDrpA8pLjm/2dCMsFu5v+P6PYN+CsxhbS//2bfl2up8XQnSraqSYnm1Tm4YpuvUva44JAgjh1KLyaSEk6Rt2DGpaepyamknMpYjAB0ergjcyZ97tUcvSk4JIijh+OB9Pe8fG7mn5KcmqEYicgbTpvONzDl3U99kqc3XfqeV8DNvoG7mK/mfUfvvt1o0bopzVo2ZNWyNT7NWzzvP12QAI8AHS3LOgdsBQ4DLwLdXf9mJeUy1/+buJ3APx8bD3DlRSa5XLq9XcAY1/Erz5NeqMQAKy3LugHICzTJZOwilmWNtyyrjmVZdSKCMj2c5oqkppwmKCgPACHOYAICTLZi3nn9A5YtWsWt93RgzvT5pKacplffrgzuM4K3R0/g15/30vnOdh7N1VtSUlLPz8/pDHH7N8gsxhhDw8b1WLVi7UXxA/u+xI5tu7mhTXMvZ3/lkpNTCA5KX27hDHUSEJDxZcddjLuxGjWqMnHiNI4ciWfaJ7OIi2vodkxyvr9Tz+AISv+MJpczD8bN8+G6nu3Z89G3nE26eIc0MNJJzeH3s+7pCT7J1Rv+TvmTXEGBAAQ6g9zO/x+rB07mxI79RN1Qi01vfs6BxZuocGccv8xYzt+pf/oqZY87nXKaPK6leMHOIAJM5n+DSznDnUTmj+TQvkPeSs/rUlNPk+ei97zs7ZL1HPgYb48Yz7m/z3kzPZ+40vfFca9PZOmildx+T0dmfTaP1JTTPs3bbuqQXHveBB5wdRfqkb5k64xlWfuBncaY9j7KYwJQy5VHLWCKazw7uUwA2hhjlgGPAfuBvUBvY8wqoAiwLpMxn9m6aQe169cE4LoqFfjj94xvIpnF7Ni6i2IlivDhu9MACI8Ip0LlcgQEBBBTuyqW5aNJXKUtG7efX4JVuWpF9v9+MNsx9WNrs+GnLefjejzxMF1uT39IhEeEkZiY1epCe63fsIVGjdLr7Zjqldm7b3+2YtyN7dmzl+jo9IZh7dox/L7vD7djkvOd3PwbBepVACCicilS9mfsyhZuWpWyD7ai2ayBRFYpRe3XHsEEOogd35stI6aTesCznVxfOrblNwq7lmnlrRxF8v74DDHVerSlbJfGAOQOD+HPxPTC7MS2fTiL52fr+1/5LmEv2L355/PLtMpWLsPhA9lfftvohoasWbz28oE52M7Nu84v0ypfuRwH92evuKrVoAa9n3+M92eNpUKVcnTvl/nB4Dnd1k07qNMgfZlWpaoVOLA/4/tiZjHbt+6iWPEifPDuVN8lLF5jLH/ZmxOfKl+wtkcfGKGhTj6ZN5Eflq+lWctGPNm1P23aX88bL7+baUyXGx8g+VQyvZ/txr7f9vP5jAUAVK9ZhVfGDqFYyaJs/HEzPR7o4/FPR1L/9vzZjULDnMxZMIUVS1fT/PrG9HikL21vac2o4WMzjWl3w12cSkrmuUFPsGnDNr6a/x0AERHhvDdpNLnz5GbXjl8Y0OdyDb1/70hKgke2ExYWypLv5/D94hW0vrE5d9/Tgy6d2zJ4yKhMYxo1bodlWRnG0tLSmDjhdQoXKkBgYCC33dGVpKRTGcYOupZ6XY3TB5df9TauBXOrDfLKdnOFBtN87iCOrthGkRYxrH7sbUq0q8+2kTPcxjebNZClnYdT5r6WVOt/Ownb9wGwZ/IiDriORfG05Cy6FlcrMDSYm+Y8z8EV2ynRvDpLeowjum091o+aeT4md0QIce/1wpE7kJO7DrB6wEcA1HimE6f2HmHPrJVey+8fU81Rr207JDSEMbNHs2HFRuo2r8tLPUbQrG1TJr36UYbY0TNe5Zlb+57/fcDbzzHjvZn8vNW7S/YSz3nvk3dnaAgT5o7jxxU/0bBFfQY8NpTr2zXn3ZETM8S+P2ss3Tr3zva4J504m+y1bYeGOpk+/0NWLV9Ls5YN6f1of25qfz2vv/xOpjGdW9/PqVPJPNnvMfb+up+5M770Wn7/+PXYBu+9GFyBI82beXXnvfD3Sy87X2PMB6Qfn/ylZVkvZRH3DvCV67jtzLengkTc8XRBAumf5DeKa8CPP6zn2FH3ByFmJ8YXvFGQQHoh0bR5LKtX/UT8Ufef7mYnxhc8VZBA+nemXH99U5YvX82RIxk/Cc4sJju38xYVJOm8VZAABEaEULhpNeJX7+TP+ESv3c+V8mZBAukFR7Gm1Tiyeienc+D8wbsFCaSfRat2k1psXrOFk/EnvXpfV8KbBQmkn0WrftO6bFi9iePxJ7x6X1fKmwUJpL/vN45rwNrL7BtcLsabVJBczBjTCWhvWdYDxpgPgZcty/rZTVwT4CnLsjpd7j5VkIhb3ihI/Im3ChJ/4smCxB+pIEnnzYIkp/N2QeIPvF2Q5HTeLkj8gbcLEn+Q4wqSuDjvFiRLllyuIBkLfG1Z1gJjzB1AsGVZky6JCQS2AAuApZZlZXkGiv/6MSQiIiIiIuJy4VlXXT9dLwlxkv5dfgAnAHdfJHUfsB0YBdQzxvTK6j79+xt1RERERET+Q7x9JizLssYD47MISQb++RKkUNw3OGoC4y3LOmyMmQoMB97KbIPqkIiIiIiISHb9BDR2XY4h/Uyul/qF9O/HA6gD7Mtqg+qQiIiIiIj4CSvN9kNa5gLLjTHFgDbAHcaYlyzLev6CmA+AD13HmAQCXbLaoAoSERERERHJFsuykowxcUArYJRlWYeBTZfEnAJuze42VZCIiIiIiPgJu75N/aIcLOsk8H+e2p6OIREREREREduoQyIiIiIi4icsy/ZjSDxOHRIREREREbGNOiQiIiIiIn4iJxxD4mkqSERERERE/EQOOO2vx2nJloiIiIiI2EYdEhERERERP2FZdmfgeeqQiIiIiIiIbdQhERERERHxEzqGRERERERExIPUIRERERER8RPqkIiIiIiIiHiQOiQiIiIiIn5CZ9kSERERERHxIHVIRERERET8xLV4DIkKEnHrz3N/2Z2CrXqE17A7BduN/nut3SnYam61QXanYLsOW16kw5YX7U7DVu1rPm53CrYyXHs7Pv/G3pQjdqdguzKhRe1OQf4DVJCIiIiIiPgJy7r2PijQMSQiIiIiImIbdUhERERERPyElQcbaUoAACAASURBVGZ3Bp6nDomIiIiIiNhGHRIRERERET+RpmNIREREREREPEcdEhERERERP6GzbImIiIiIiHiQOiQiIiIiIn5C39QuIiIiIiK2sSy7M/A8LdkSERERERHbqEMi/8/efYdHUX5tHP8+u4T0AoQOoYv0XkIv0qSK2EDF1w4iIkVQiiiCdBFEAVFBxUYREUV6V1B6AMFGr0ES0gCRzPtHYkSygQBbsvndH6+9JLNnZs9sJrN79jzPrIiIiIh4iew4ZEsdEhERERER8Rh1SEREREREvIS+GFFERERERMSJ1CEREREREfES+mJEERERERERJ1KHRERERETES+h7SERERERERJxIHRIRERERES+hq2yJiIiIiIg4kTokIiIiIiJeQlfZEhG38QsNpESDivjnCvJ0KiIeceZsDA/36O/pNESytIAAfxo2jqRgofyeTkXkpqkg8RBjzG9O3t4aB8smOfMxnGns5Ff4cunHPNvvyUzHhIaGMOvzt1m88jNenzjMXam6RNuxT9D9y+HUf7aTw/v9QgK474P+FKpaigc/G0JA7uC0+wLDQ3js25HuStVlJk8dxdKVX9BvQM9Mx9jtdnbtXcuibz9m0bcfU678be5K1+lqTniCZl8Pp1wfx8fAP3zDQ7hjWcrvO0ewPw3mvEDDzwZR7/0+GB+7O1L1iHNx8Qx+bQLnL1zwdCou02dcHyYunMj9ve/PMCYsPIxx88el/Vyq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+4QGkL9RJaI37eNiFj0GOkWNuH5QNteh2jMu23ZQaBDVGlZj9+bdxETHuOxxbsUlkl26/aDQIGo0rM6uzVFZ8jnYcc41n7yHhoXQpGl9frjO+e96Me5QMqigS7cfHBpEnUa12L5pJ39Gu27+6q348fjaLFUBbC7U2aXv0eocX+D2/VVBIg65uiDJ6lxdkHgDVxckWZ2rCxJvoILEtQWJN3B1QZLVuaog8SauLki8QVYrSDa5uCCp64GCREO2RERERES8RHYcsqVJ7SIiIiIi4jHqkIiIiIiIeAlPXZrXldQhERERERERj1GHRERERETES2THS02oQyIiIiIiIh6jDomIiIiIiJew0BwSERERERERp1GHRERERETESyRnw6+uVodEREREREQ8Rh0SEREREREvkaw5JCIiIiIiIs6jDomIiIiIiJfQVbZEREREREScSB0SEREREREvoW9qFxERERERcSJ1SEREREREvITmkIiIiIiIiDiROiQiIiIiIl5Cc0hEREREREScSB0SEREREREvkR07JCpIxKFTSbGeTsGjtgTFeToFj+ucp4qnU/CohEvZb9Kg3LhF26d6OgWPq1Gxm6dT8JjYC4meTsHjInMX9HQKcpXsOKldBYmIiDjUodoznk7Bo1SMiIi4hwoSEREREREvkZz9GiSa1C4iIiIiIp6jDomIiIiIiJdIzoZzSNQhERERERERj1GHRERERETES1ieTsAF1CERERERERGPUYdERERERMRLZMcvRlSHREREREREPEYdEhERERERL5FsdJUtERERERERp1GHRERERETES+gqWyIiIiIiIk6kDomIiIiIiJfQVbZEREREREScSB0SEREREREvkZz9LrKlDomIiIiIiHiOOiQiIiIiIl4imezXIlGHREREREREPEYFiYiIiIiIl7BcfMsMY8x7xpgfjDFDrhOX3xiz/XrbU0EiIiIiIuIlko1rb9djjOkM2C3LigRKGmPKXCN8POB/vW2qIBERERERkcxqAnyR+u9lQANHQcaYZkAicPJ6G1RBIiKSReUMC6RQw4r45grydCoikoXkyhXGHc0bkidPLk+nIh6Q7OKbMeZJY8yWK25PXpVCIHAs9d9ngfxX52iMyQkMBQZlZp9UkGQDxphZxpjtxpg1xpjPjTEfGWO+SL3vM2PMrCtif/NUntOmjWPtmoUM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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1e9c1518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#画出热图，annot=True 格子里显示数值\n",
    "plt.subplots(figsize=(13,9))\n",
    "sns.heatmap(data_corr,annot=True)\n",
    "sns.heatmap(data_corr, mask=data_corr < 1, cbar=False)\n",
    "\n",
    "#保存热图\n",
    "plt.savefig('糖尿病特征相关性热图.png' )    \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 找出线性强相关的特征对(系数大于0.7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [],
   "source": [
    "#相关系数阈值 0.7\n",
    "threshold = 0.7\n",
    "#强相关的特征对list\n",
    "corr_list = [] \n",
    "#shape[0]读取矩阵第一维度的长度\n",
    "size = data_corr.shape[0]  \n",
    "\n",
    "\n",
    "#从第一列特征开始，循环遍历比较下一列与本列的相关系数.存入list\n",
    "for i in range(0,size):\n",
    "    for j in range(i+1,size):      \n",
    "        if(data_corr.iloc[i,j] >=threshold and data_corr.iloc[i,j] <1 ) or (data_corr.iloc[i,j] < 0 and data_corr.iloc[i,j] <= -threshold ):\n",
    "            corr_list.append([data_corr.iloc[i,j],i,j])\n",
    "\n",
    "            \n",
    "#按大小排序\n",
    "sort_corr_list = sorted(corr_list,key=lambda x : -abs(x[0]))\n",
    "#输出\n",
    "for v,i,j in sort_corr_list:\n",
    "    print(\"%s and %s = %.2f\" % (columns[i],columns[j],v))\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 可看出，X特征间相关性并不强，此处无需再做处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4.数据准备"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 分离x与y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [],
   "source": [
    "y=data[\"Outcome\"].values\n",
    "x=data.drop('Outcome',axis=1)\n",
    "\n",
    "\n",
    "#特征列\n",
    "columns = x.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 划分训练集与测试集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(582, 8)"
      ]
     },
     "execution_count": 160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将数据分割训练数据与测试数据\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 随机采样20%的数据构建测试样本，其余作为训练样本\n",
    "x_train,x_test,y_train,y_test = train_test_split(x,y,random_state=33,test_size=0.2)\n",
    "x_train.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 5.数据预处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5.1数据标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "#构造特征与输出的标准化器\n",
    "ss_x = StandardScaler()\n",
    "ss_y = StandardScaler()\n",
    "\n",
    "#分别对训练数据及测试数据进行标准化\n",
    "x_train = ss_x.fit_transform(x_train)\n",
    "x_test = ss_x.transform(x_test)\n",
    "\n",
    "# y 已经为0,1值，无需做标准化\n",
    "# y_train = ss_y.fit_transform(y_train.reshape(-1,1))\n",
    "# y_test = ss_y.transform(y_test.reshape(-1,1))    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5.2数据归一化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1\n",
      " 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0\n",
      " 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0\n",
      " 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0 0\n",
      " 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0\n",
      " 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0\n",
      " 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1\n",
      " 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0\n",
      " 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0\n",
      " 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0\n",
      " 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1\n",
      " 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0\n",
      " 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0\n",
      " 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 1\n",
      " 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1\n",
      " 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import MaxAbsScaler\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "\n",
    "#构造归一化器\n",
    "\n",
    "#ms_x=MinMaxScaler()\n",
    "#ms_y=MinMaxScaler()\n",
    "ms_x=MaxAbsScaler()\n",
    "ms_y=MaxAbsScaler()\n",
    "\n",
    "\n",
    "#分别对训练数据及测试数据进行归一化\n",
    "x_train = ms_x.fit_transform(x_train)\n",
    "x_test = ms_x.transform(x_test)\n",
    "\n",
    "# y 已经为0,1值，无需做归一化\n",
    "#y_train = ms_y.fit_transform(y_train.reshape(-1,1))\n",
    "#y_test = ms_y.transform(y_test.reshape(-1,1))\n",
    "\n",
    "print(y_train)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 6.模型确定/模型训练"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 6.1 Logistic回归"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.1.1 DefaultLogistic Regression模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "log损失 [0.474506   0.46132226 0.4732309  0.51936012 0.49020144]\n",
      "log损失均值 0.48372414253505136\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.cross_validation import cross_val_score\n",
    "\n",
    "# 使用默认配置初始化学习器\n",
    "lr = LogisticRegression()\n",
    "\n",
    "#交叉验证\n",
    "loss=cross_val_score(lr,x_train,y_train,cv=5,scoring='neg_log_loss')\n",
    "print(\"log损失\",-loss)\n",
    "print(\"log损失均值\",-loss.mean())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.1.2GridSearchCV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise',\n",
       "       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n",
       "          verbose=0, warm_start=False),\n",
       "       fit_params=None, iid=True, n_jobs=1,\n",
       "       param_grid={'penalty': ['l1', 'l2'], 'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000]},\n",
       "       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=0)"
      ]
     },
     "execution_count": 164,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "#L1,L2正则\n",
    "penaltys = ['l1','l2']\n",
    "Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "#参数包装成map\n",
    "tuned_parameters = dict(penalty = penaltys, C = Cs)\n",
    "\n",
    "lr_penalty= LogisticRegression()\n",
    "grid= GridSearchCV(lr_penalty, tuned_parameters,cv=5, scoring='neg_log_loss')\n",
    "grid.fit(x_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.48203509939829087\n",
      "{'C': 1, 'penalty': 'l1'}\n"
     ]
    }
   ],
   "source": [
    "#打印最佳的参数\n",
    "print(-grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 模型在训练集上最佳的参数为 L1正则，正则参数为1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\Anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('std_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x201a9358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot CV误差曲线\n",
    "test_means = grid.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = grid.cv_results_[ 'std_test_score' ]\n",
    "train_means = grid.cv_results_[ 'mean_train_score' ]\n",
    "train_stds = grid.cv_results_[ 'std_train_score' ]\n",
    "\n",
    "\n",
    "# plot results\n",
    "n_Cs = len(Cs)\n",
    "number_penaltys = len(penaltys)\n",
    "test_scores = np.array(test_means).reshape(n_Cs,number_penaltys)\n",
    "train_scores = np.array(train_means).reshape(n_Cs,number_penaltys)\n",
    "test_stds = np.array(test_stds).reshape(n_Cs,number_penaltys)\n",
    "train_stds = np.array(train_stds).reshape(n_Cs,number_penaltys)\n",
    "\n",
    "x_axis = np.log10(Cs)\n",
    "for i, value in enumerate(penaltys):\n",
    "    #pyplot.plot(log(Cs), test_scores[i], label= 'penalty:'   + str(value))\n",
    "    plt.errorbar(x_axis, test_scores[:,i], yerr=test_stds[:,i] ,label = penaltys[i] +' Test')\n",
    "    plt.errorbar(x_axis, train_scores[:,i], yerr=train_stds[:,i] ,label = penaltys[i] +' Train')\n",
    "    \n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'neg-logloss' )\n",
    "plt.savefig('LogisticGridSearchCV_C.png' )\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 可看到。在训练集上，蓝线在绿线上方，最佳的参数为L1正则，C=1；在测试集上，橙线在红线上方，即L1正则，但看不清楚C为1还是10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集上的log_loss: 7.9522886921003275\n",
      "测试集上的log_loss: 7.806748069959342\n",
      "模型在训练集上的score: 0.4697100001702632\n",
      "模型在测试集上的score: 0.47214202487802104\n"
     ]
    }
   ],
   "source": [
    "#模型在测试集上的预测结果\n",
    "y_train_pred_grid=grid.predict(x_train)\n",
    "y_test_pred_grid=grid.predict(x_test)\n",
    "\n",
    "print(\"训练集上的log_loss:\",log_loss(y_train,y_train_pred_grid))\n",
    "print(\"测试集上的log_loss:\",log_loss(y_test,y_test_pred_grid))\n",
    "\n",
    "\n",
    "print(\"模型在训练集上的score:\",-grid.score(x_train,y_train))\n",
    "print(\"模型在测试集上的score:\",-grid.score(x_test,y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.1.3 LogisticRegressionCV"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### L1正则(适当提高了类别权重)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegressionCV(Cs=[1, 10, 100, 1000], class_weight={0: 0.4, 1: 0.6},\n",
       "           cv=5, dual=False, fit_intercept=True, intercept_scaling=1.0,\n",
       "           max_iter=100, multi_class='ovr', n_jobs=1, penalty='l1',\n",
       "           random_state=None, refit=True, scoring='neg_log_loss',\n",
       "           solver='liblinear', tol=0.0001, verbose=0)"
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegressionCV\n",
    "\n",
    "Cs = [1, 10,100,1000]\n",
    "\n",
    "# 大量样本（6W+）、高维度（93），L1正则 --> 可选用saga优化求解器(0.19版本新功能)\n",
    "# LogisticRegressionCV比GridSearchCV快\n",
    "lrcv_L1 = LogisticRegressionCV(Cs=Cs, cv = 5, scoring='neg_log_loss', penalty='l1', solver='liblinear', multi_class='ovr',class_weight={0:0.4, 1:0.6})\n",
    "lrcv_L1.fit(x_train, y_train)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{1: array([[-0.4996302 , -0.49252402, -0.49329305, -0.49338149],\n",
       "        [-0.46773683, -0.47739447, -0.48057396, -0.48091608],\n",
       "        [-0.47910612, -0.47577916, -0.47635116, -0.47641274],\n",
       "        [-0.53424758, -0.52699252, -0.52646272, -0.52646216],\n",
       "        [-0.50522624, -0.51105257, -0.51292694, -0.51313713]])}"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrcv_L1.scores_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "特征的权重参数: [[ 1.751862    2.70350815 -0.29083834  0.         -0.38048318  3.32476315\n",
      "   1.44052106  0.42534525]]\n",
      "正则参数C: [10]\n"
     ]
    }
   ],
   "source": [
    "print(\"特征的权重参数:\",lrcv_L1.coef_)\n",
    "print('正则参数C:',lrcv_L1.C_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 可看到此时已经得到了稀疏解，模型训练的还不错. 求出的正则参数C为10"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 再看看模型在测试集上的表现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集上的log_loss: 8.130352473424667\n",
      "测试集上的log_loss: 7.570219445213456\n",
      "模型在训练集上的score: 0.7646048109965635\n",
      "模型在测试集上的score: 0.7808219178082192\n"
     ]
    }
   ],
   "source": [
    "y_train_pred_lrcv_L1=lrcv_L1.predict(x_train)\n",
    "y_test_pred_lrcv_L1=lrcv_L1.predict(x_test)\n",
    "\n",
    "print(\"训练集上的log_loss:\",log_loss(y_train,y_train_pred_lrcv_L1))\n",
    "print(\"测试集上的log_loss:\",log_loss(y_test,y_test_pred_lrcv_L1))\n",
    "\n",
    "print(\"模型在训练集上的score:\",lrcv_L1.score(x_train,y_train))\n",
    "print(\"模型在测试集上的score:\",lrcv_L1.score(x_test,y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 可见模型+L1正则在测试集上的正确率有78.08%"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### L2正则(适当提高了类别权重)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegressionCV(Cs=[1, 10, 100, 1000], class_weight={0: 0.4, 1: 0.6},\n",
       "           cv=5, dual=False, fit_intercept=True, intercept_scaling=1.0,\n",
       "           max_iter=100, multi_class='ovr', n_jobs=1, penalty='l2',\n",
       "           random_state=None, refit=True, scoring='neg_log_loss',\n",
       "           solver='liblinear', tol=0.0001, verbose=0)"
      ]
     },
     "execution_count": 174,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegressionCV\n",
    "\n",
    "Cs = [1, 10,100,1000]\n",
    "\n",
    "# 大量样本（6W+）、高维度（93），L2正则 --> 缺省用lbfgs，为了和GridSeachCV比较，也用liblinear\n",
    "\n",
    "lr_cv_L2 = LogisticRegressionCV(Cs=Cs, cv = 5, scoring='neg_log_loss', penalty='l2', solver='liblinear', multi_class='ovr',class_weight={0:0.4, 1:0.6})\n",
    "lr_cv_L2.fit(x_train, y_train)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "特征的权重参数: [[ 1.69127726  2.67438401 -0.28488496  0.11140273 -0.43415024  3.13837246\n",
      "   1.40306525  0.47925897]]\n",
      "正则参数C: [10]\n"
     ]
    }
   ],
   "source": [
    "print(\"特征的权重参数:\",lr_cv_L2.coef_)\n",
    "print('正则参数C:',lr_cv_L2.C_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### L2正则优化后的正则参数C同样为10"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 在测试集上的表现|"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集上的log_loss: 8.249043800550531\n",
      "测试集上的log_loss: 7.806786406822433\n",
      "模型在训练集上的score: 0.761168384879725\n",
      "模型在测试集上的score: 0.773972602739726\n"
     ]
    }
   ],
   "source": [
    "y_train_pred_lrcv_L2=lr_cv_L2.predict(x_train)\n",
    "y_test_pred_lrcv_L2=lr_cv_L2.predict(x_test)\n",
    "\n",
    "print(\"训练集上的log_loss:\",log_loss(y_train,y_train_pred_lrcv_L2))\n",
    "print(\"测试集上的log_loss:\",log_loss(y_test,y_test_pred_lrcv_L2))\n",
    "\n",
    "print(\"模型在训练集上的score:\",lr_cv_L2.score(x_train,y_train))\n",
    "print(\"模型在测试集上的score:\",lr_cv_L2.score(x_test,y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 模型+L2正则在测试集上的Score略低于L1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 6.2 SVM"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.2.1 线性SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 183,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.svm import LinearSVC\n",
    "\n",
    "#定义一个方法,用于验证当前的正则参数C在模型上的性能\n",
    "def search_C_for_LinearSVC(C,x_train,y_train,x_test,y_test):\n",
    "    SVC1=LinearSVC(C=C)\n",
    "    SVC1.fit(x_train,y_train)\n",
    "    score=SVC1.score(x_test,y_test)\n",
    "    print(\"当前C:{},测试集上的Score:{}\".format(C,score))\n",
    "    return score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前C:0.001,测试集上的Score:0.6712328767123288\n",
      "当前C:0.01,测试集上的Score:0.7465753424657534\n",
      "当前C:0.1,测试集上的Score:0.773972602739726\n",
      "当前C:1.0,测试集上的Score:0.773972602739726\n",
      "当前C:10.0,测试集上的Score:0.773972602739726\n",
      "当前C:100.0,测试集上的Score:0.7808219178082192\n",
      "当前C:1000.0,测试集上的Score:0.6917808219178082\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x203ff780>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#创建一个等比数列,logspace(a,b,N)把10的a次方到10的b次方区间分成N份  \n",
    "C_list = np.logspace(-3, 3, 7)\n",
    "score_list = []\n",
    "\n",
    "for one_C in C_list:\n",
    "    tmp = search_C_for_LinearSVC(one_C,x_train,y_train,x_test,y_test)\n",
    "    score_list.append(tmp)\n",
    "    \n",
    "x_axis = np.log10(C_list)\n",
    "#for j, penalty in enumerate(penalty_s):\n",
    "plt.plot(x_axis, np.array(score_list), 'b-')\n",
    "    \n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'socre' )\n",
    "# pyplot.savefig('SVM_Otto.png' )\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 可见 C=100时，模型性能最好,预测分数与Logistic回归+L1正则一样"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 看看混淆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 186,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "实验报告: LinearSVC(C=100, class_weight=None, dual=True, fit_intercept=True,\n",
      "     intercept_scaling=1, loss='squared_hinge', max_iter=1000,\n",
      "     multi_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n",
      "     verbose=0):\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.76      0.92      0.84        91\n",
      "          1       0.81      0.53      0.64        55\n",
      "\n",
      "avg / total       0.78      0.77      0.76       146\n",
      "\n",
      "\n",
      "混淆矩阵:\n",
      "[[84  7]\n",
      " [26 29]]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import classification_report\n",
    "from sklearn.metrics import confusion_matrix\n",
    "\n",
    "SVC1=LinearSVC(C=100)\n",
    "SVC1.fit(x_train,y_train)\n",
    "\n",
    "#在校验集上测试，估计模型性能\n",
    "y_predict_SVC = SVC1.predict(x_test)\n",
    "\n",
    "print(\"实验报告: %s:\\n%s\\n\"% (SVC1, classification_report(y_test, y_predict_SVC)))\n",
    "print(\"混淆矩阵:\\n%s\" % confusion_matrix(y_test, y_predict_SVC))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.2.2 RBF核SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 187,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.svm import SVC\n",
    "\n",
    "def search_C_gamma_for_RBF(C, gamma, x_train,y_train,x_test,y_test):   \n",
    "    # 在训练集是那个利用SVC训练\n",
    "    SVC2 =  SVC( C = C, kernel='rbf', gamma = gamma)\n",
    "    SVC2.fit(x_train, y_train)\n",
    "    \n",
    "    score=SVC2.score(x_test,y_test)\n",
    "    print(\"当前C:{},gamma:{}测试集上的Score:{}\".format(C,gamma,score))\n",
    "    return score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 188,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前C:0.001,gamma:0.001测试集上的Score:0.6232876712328768\n",
      "当前C:0.001,gamma:0.01测试集上的Score:0.6232876712328768\n",
      "当前C:0.001,gamma:0.1测试集上的Score:0.6232876712328768\n",
      "当前C:0.001,gamma:1.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.001,gamma:10.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.001,gamma:100.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.001,gamma:1000.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.01,gamma:0.001测试集上的Score:0.6232876712328768\n",
      "当前C:0.01,gamma:0.01测试集上的Score:0.6232876712328768\n",
      "当前C:0.01,gamma:0.1测试集上的Score:0.6232876712328768\n",
      "当前C:0.01,gamma:1.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.01,gamma:10.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.01,gamma:100.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.01,gamma:1000.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.1,gamma:0.001测试集上的Score:0.6232876712328768\n",
      "当前C:0.1,gamma:0.01测试集上的Score:0.6232876712328768\n",
      "当前C:0.1,gamma:0.1测试集上的Score:0.6232876712328768\n",
      "当前C:0.1,gamma:1.0测试集上的Score:0.7465753424657534\n",
      "当前C:0.1,gamma:10.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.1,gamma:100.0测试集上的Score:0.6232876712328768\n",
      "当前C:0.1,gamma:1000.0测试集上的Score:0.6232876712328768\n",
      "当前C:1.0,gamma:0.001测试集上的Score:0.6232876712328768\n",
      "当前C:1.0,gamma:0.01测试集上的Score:0.6232876712328768\n",
      "当前C:1.0,gamma:0.1测试集上的Score:0.773972602739726\n",
      "当前C:1.0,gamma:1.0测试集上的Score:0.7602739726027398\n",
      "当前C:1.0,gamma:10.0测试集上的Score:0.7191780821917808\n",
      "当前C:1.0,gamma:100.0测试集上的Score:0.6232876712328768\n",
      "当前C:1.0,gamma:1000.0测试集上的Score:0.6232876712328768\n",
      "当前C:10.0,gamma:0.001测试集上的Score:0.6232876712328768\n",
      "当前C:10.0,gamma:0.01测试集上的Score:0.7808219178082192\n",
      "当前C:10.0,gamma:0.1测试集上的Score:0.7876712328767124\n",
      "当前C:10.0,gamma:1.0测试集上的Score:0.7465753424657534\n",
      "当前C:10.0,gamma:10.0测试集上的Score:0.6917808219178082\n",
      "当前C:10.0,gamma:100.0测试集上的Score:0.6232876712328768\n",
      "当前C:10.0,gamma:1000.0测试集上的Score:0.6232876712328768\n",
      "当前C:100.0,gamma:0.001测试集上的Score:0.7808219178082192\n",
      "当前C:100.0,gamma:0.01测试集上的Score:0.7808219178082192\n",
      "当前C:100.0,gamma:0.1测试集上的Score:0.7602739726027398\n",
      "当前C:100.0,gamma:1.0测试集上的Score:0.7465753424657534\n",
      "当前C:100.0,gamma:10.0测试集上的Score:0.6917808219178082\n",
      "当前C:100.0,gamma:100.0测试集上的Score:0.6232876712328768\n",
      "当前C:100.0,gamma:1000.0测试集上的Score:0.6232876712328768\n",
      "当前C:1000.0,gamma:0.001测试集上的Score:0.773972602739726\n",
      "当前C:1000.0,gamma:0.01测试集上的Score:0.7876712328767124\n",
      "当前C:1000.0,gamma:0.1测试集上的Score:0.7123287671232876\n",
      "当前C:1000.0,gamma:1.0测试集上的Score:0.7397260273972602\n",
      "当前C:1000.0,gamma:10.0测试集上的Score:0.6917808219178082\n",
      "当前C:1000.0,gamma:100.0测试集上的Score:0.6232876712328768\n",
      "当前C:1000.0,gamma:1000.0测试集上的Score:0.6232876712328768\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20665dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#需要调优的参数\n",
    "C_list = np.logspace(-3, 3, 7)# logspace(a,b,N)把10的a次方到10的b次方区间分成N份 \n",
    "gamma_list = np.logspace(-3, 3, 7)  \n",
    "\n",
    "score_list = []\n",
    "for i,oneC in enumerate(C_list):\n",
    "    for j,gamma in enumerate(gamma_list):\n",
    "        tmp = search_C_gamma_for_RBF(oneC, gamma, x_train, y_train, x_test,y_test)\n",
    "        score_list.append(tmp)\n",
    "        \n",
    "#根据C和gamma，构造一个2维数组        \n",
    "score_list2 =np.array(score_list).reshape(len(C_list),len(gamma_list))\n",
    "x_axis = np.log10(C_list)\n",
    "for j, gamma in enumerate(gamma_list):\n",
    "    plt.plot(x_axis, np.array(score_list2[:,j]), label = ' Test - log(gamma)' + str(np.log10(gamma)))\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'accuracy' )\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 可看出当 C=1000，gamma=0.01或C=10,gamme=0,1时，模型的性能最好，Score:0.7876712328767124,略大于线性SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "实验报告: SVC(C=1000, cache_size=200, class_weight=None, coef0=0.0,\n",
      "  decision_function_shape='ovr', degree=3, gamma=0.01, kernel='rbf',\n",
      "  max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
      "  tol=0.001, verbose=False):\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.77      0.93      0.85        91\n",
      "          1       0.83      0.55      0.66        55\n",
      "\n",
      "avg / total       0.80      0.79      0.78       146\n",
      "\n",
      "\n",
      "混淆矩阵:\n",
      "[[85  6]\n",
      " [25 30]]\n"
     ]
    }
   ],
   "source": [
    "SVC2=SVC( C = 1000, kernel='rbf', gamma = 0.01)\n",
    "SVC2.fit(x_train,y_train)\n",
    "\n",
    "#在校验集上测试，估计模型性能\n",
    "y_predict_SVC = SVC2.predict(x_test)\n",
    "\n",
    "print(\"实验报告: %s:\\n%s\\n\"% (SVC2, classification_report(y_test, y_predict_SVC)))\n",
    "print(\"混淆矩阵:\\n%s\" % confusion_matrix(y_test, y_predict_SVC))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
